﻿using MediatR;
using System.ComponentModel.DataAnnotations;

namespace S.Services.SheepMale.Api.Application.Command.PurchaseCommand
{
    public class PurchaseEditCommand:IRequest<int>
    {
        /// <summary>
        /// 羊只采购编号
        /// </summary>
        public int PurId { get; set; }
        /// <summary>
        /// 单据号
        /// </summary>
        [StringLength(50)]
        public string? DocumentNumber { get; set; }
        /// <summary>
        /// 采购日期
        /// </summary>
        public DateTime? PurDate { get; set; }
        /// <summary>
        /// 核算单元
        /// </summary>
        public string? AccountingUnit { get; set; }
        /// <summary>
        /// 羊只类型
        /// </summary>
        public string? SheepTypeInfo { get; set; }
        /// <summary>
        /// 类别
        /// </summary>
        [StringLength(50)]
        public string? PruTytpe { get; set; }
        /// <summary>
        /// 供应商
        /// </summary>
        public string? Supplier { get; set; }
        /// <summary>
        /// 摘要
        /// </summary>
        public string? Digest { get; set; }
        /// <summary>
        /// 耳号/批次
        /// </summary>
        [StringLength(30)]
        public string? Earbugles { get; set; }
        /// <summary>
        /// 栋舍
        /// </summary>
        [StringLength(50)]
        public string? CottageName { get; set; }
        /// <summary>
        /// 转入栏位
        /// </summary>
        [StringLength(50)]
        public string? FieldName { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public string? PurSex { get; set; }
        /// <summary>
        /// 阶段
        /// </summary>
        [StringLength(50)]
        public string? Phase { get; set; }
        /// <summary>
        /// 采购员
        /// </summary>
        [StringLength(50)]
        public string? Buyer { get; set; }
        /// <summary>
        /// 仓库
        /// </summary>
        [StringLength(50)]
        public string? Stash { get; set; }
        /// <summary>
        /// 商品名称
        /// </summary>
        [StringLength(50)]
        public string? GoodName { get; set; }
        /// <summary>
        /// 标包
        /// </summary>
        [StringLength(50)]
        public string? Package { get; set; }
        /// <summary>
        /// 计量单位
        /// </summary>
        public string? MeasuringUnit { get; set; }
        /// <summary>
        /// 调整数量
        /// </summary>
        public int? AdjustNmber { get; set; }
        /// <summary>
        /// 结算数量
        /// </summary>
        public int? PayNumber { get; set; }
        /// <summary>
        /// 入库数量
        /// </summary>
        public int? QuantityNumber { get; set; }
        /// <summary>
        /// 只均单价
        /// </summary>
        public decimal? AveragePrice { get; set; }
        /// <summary>
        /// 单位折扣
        /// </summary>
        public decimal? PriceDiscount { get; set; }
        /// <summary>
        /// 总重量(公斤)
        /// </summary>
        public int? TotalWeight { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdateBy { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateDate { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreateBy { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateDate { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        [StringLength(50)]
        public string? ExamineBy { get; set; }
        /// <summary>
        /// 审合时间
        /// </summary>
        public DateTime? ExamineDate { get; set; }
        /// <summary>
        /// 审核状态
        /// </summary>
        public bool ExamineType {  get; set; }
    }
}
